/******************************************************************************
** 公司名称：天津柯迪斯科技有限公司
** 版权信息：
** 文件名称： bsp.c
** 模块名称： 板级外设初始化模块
** 版 本 号： V1.0
** 作    者： 蒲磊
**
** 修改记录： 版本     修改人      时间         修改内容
**
******************************************************************************/

/******************************************************************************
* 头文件
******************************************************************************/
#include "bsp.h"
/******************************************************************************
* 本文件宏定义 ('#define')
******************************************************************************/

/******************************************************************************
* 本文件类型定义 ('typedef')
******************************************************************************/

/******************************************************************************
* 本文件静态函数声明 ('static')
******************************************************************************/

/******************************************************************************
* 全局变量定义
******************************************************************************/

/*****************************************************************************
* 函数实现 - global ('extern') and local ('static')
******************************************************************************/


/******************************************************************************
** 功  能：外设初始化
** 参  数：无
** 返回值：无
** 备  注：
******************************************************************************/
void vBsp_Init(void)
{
    MX_GPIO_Init();
    POWER_ON;
    MX_DMA_Init();
    MX_ADC1_Init();
    MX_TIM3_Init();                 /*背光PWM驱动定时器TIM3初始化（默认背光是0）*/

    vBsp_USART1_Init();             /*开启UART1的DMA传输，接收控制器数据*/

    MX_TIM14_Init();                /*TIM14初始化，定时周期1S，用于电量缓降、骑行信息的累加、设置界面超时返回、无操作超时关机等*/
    MX_TIM16_Init();                /*TMR16初始化，用于定时发送CAN数据*/
    MX_TIM17_Init();                /*TIM17初始化，用于按键扫描（此处只初始化，没有使能定时器）*/

    //vBsp_USART1_Init(1200);         /*串口1初始化，波特率1200bps，用于和控制器通信*/
#if USE_BLUETOOTH == 1
    /*蓝牙协议SDK内部初始化*/
    bt_protocol_init();

    /*蓝牙串口初始化*/
    MX_USART2_UART_Init();
    vBsp_USART_BT_Init();

    MX_TIM1_Init();                 /*TIM1初始化，用于蓝牙定时轮询*/
#endif

    vBsp_ADC_Init();                		/*开始ADC采样*/
    vBsp_LCD_Init();						/*LCD屏初始化*/

    vBsp_Key_Init();                        /*按键缓存初始化*/
    HAL_TIM_Base_Start_IT(&htim17);			/*开按键扫描*/
}




